package common.interfaces;

import common.CurrencyEnum;
import common.ServiceErrorException;
import common.ServiceResponseEnum;
import server.messageContent.BalanceEnquiryMsgContent;
import server.messageContent.CloseAccountMsgContent;
import server.messageContent.CreateAccountMsgContent;
import server.messageContent.DepositMsgContent;
import server.messageContent.TransferFundMsgContent;
import server.messageContent.WithdrawMsgContent;

public interface AccountService {
	public long Create(CreateAccountMsgContent account) throws ServiceErrorException;
	public int Close(String holderName,CloseAccountMsgContent account,String password) throws ServiceErrorException;
	public int Withdraw(WithdrawMsgContent account, float amountWithdraw,String password) throws ServiceErrorException;
	public int Deposit(DepositMsgContent account, float amountDeposit,String password) throws ServiceErrorException;
	public float BalanceEnquiry(long accId) throws ServiceErrorException;
	public float EnquireBal(BalanceEnquiryMsgContent account,String password ) throws ServiceErrorException;
	public ServiceResponseEnum Transfer(TransferFundMsgContent account) throws ServiceErrorException;
	public CurrencyEnum getCurrency(long accID) throws ServiceErrorException;
}
